热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

中小学|音符_IPython8.0大版本更新,支持代码自动补全

篇首语:本文由编程笔记#小编为大家整理,主要介绍了IPython8.0大版本更新,支持代码自动补全相关的知识,希望对你有一定的参考价值。△点击上方“P

篇首语:本文由编程笔记#小编为大家整理,主要介绍了IPython 8.0 大版本更新,支持代码自动补全相关的知识,希望对你有一定的参考价值。


△点击上方“Python猫”关注 ,回复“1”领取电子书




来源:量子位 | 公众号 QbitAI



酝酿了3年多,IPython 8.0终于来了。


现在,用上最新版本,你不仅能在命令行里使用Black重新格式化代码,还能获得更好的自动代码补全和Debug体验。



更多详情,咱们接着往下看。


优化报错


在8.0版本之前,如果代码出错,IPython的错误回溯会显示一个哈希值,用于编译Python AST,就像这样:



而现在,错误回溯已经正确格式化,能够显示出bug所在的具体单元格编号。



另外,IPython 8.0还集成了stack_data,这个包提供了更智能的追踪信息,能够突出显示发生错误的AST节点,帮助快速定位bug。


比如对于这样一段代码:



调用bar(),就能获得一个IndexError,IPython 8.0会告诉你索引错误具体发生在哪里。



注:在终端和notebook中,用^标记的位置将显示为高亮。


还有一个对生产力有较大影响的改进,就是在错误回溯的文件名后面添加冒号和行号。



许多终端和编辑器都允许在使用这种语法时,直接跳转到相关文件/行。


自动代码补全建议


除了更好的Debug体验,如果你很喜欢Ptpython里的代码自动补全功能,那么现在在IPython 8.0里你也能用上了。



通过ctrl-f,或ctrl-e,或按下右箭头,就可以接受这些建议。


alt-f快捷键则可以只接受建议的第一个单词。


目前,自动建议只能在emacs或vi模式中显示。


使用“?”和”??”查看对象信息


在IPDB中,现在可以用“?”和“??”来显示对象信息,在使用IPython提示符时也一样:



在CLI中用black自动格式化


如果black被安装在与IPython相同的环境中,那么现在,终端IPython将在默认情况下尽可能重新格式化命令行(CLI)中的代码。


当然,你也可以用 —TerminalInteractiveShell.autoformatter=None 来禁用该选项。


历史范围全局功能


此前,在使用%history时,用户可以指定session和行:



或是使用全局模式:



但在8.0以前,这两种模式不能兼得。如果用户同时指定了2种模式,IPython将应用全局模式(对所有历史记录进行全局化)并忽略指定范围。


现在,此功能得到加强,如果用户同时指定了范围和glob模式,则glob模式将应用于指定的历史范围。


如果你还想了解更多信息,官网链接在此奉上:


https://ipython.readthedocs.io/en/stable/whatsnew/version8.html#ipython-8-0


对了,还要提醒一点,如果想用IPython 8.0,你得先把Python升级到3.8以上版本


参考链接:
[1]https://blog.jupyter.org/release-of-ipython-8-0-6e034ff122ef
[2]https://www.oschina.net/news/178236/ipython-8-0-released
[3]https://news.ycombinator.com/item?id=29906774



Python猫技术交流群开放啦!群里既有国内一二线大厂在职员工,也有国内外高校在读学生,既有十多年码龄的编程老鸟,也有中小学刚刚入门的新人,学习氛围良好!想入群的同学,请在公号内回复『交流群』,获取猫哥的微信(谢绝广告党,非诚勿扰!)~


还不过瘾?试试它们


Python 的元类设计起源自哪里?


Python 为什么不设计 do-while 循环结构?


详细比对 15 款 Python 编辑器,请择优选用!


Python 优秀开源项目 Rich 源码解析


开源框架 Zappa:上线 Python 应用仅需一条命令!


如何通过测试提升 Python 代码的健壮性


如果你觉得本文有帮助


请慷慨分享点赞,感谢啦!


推荐阅读
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 本文深入探讨了 MXOTDLL.dll 在 C# 环境中的应用与优化策略。针对近期公司从某生物技术供应商采购的指纹识别设备,该设备提供的 DLL 文件是用 C 语言编写的。为了更好地集成到现有的 C# 系统中,我们对原生的 C 语言 DLL 进行了封装,并利用 C# 的互操作性功能实现了高效调用。此外,文章还详细分析了在实际应用中可能遇到的性能瓶颈,并提出了一系列优化措施,以确保系统的稳定性和高效运行。 ... [详细]
  • 在 Android 开发中,通过合理利用系统通知服务,可以显著提升应用的用户交互体验。针对 Android 8.0 及以上版本,开发者需首先创建并注册通知渠道。本文将详细介绍如何在应用中实现这一功能,包括初始化通知管理器、创建通知渠道以及发送通知的具体步骤,帮助开发者更好地理解和应用这些技术细节。 ... [详细]
  • jQuery Flot 数据可视化插件:高效绘制图表的专业工具
    jQuery Flot 是一款高效的数据可视化插件,专为绘制各种图表而设计。该工具支持丰富的图表类型和自定义选项,适用于多种应用场景。用户可以通过其官方网站获取示例代码和下载资源,以便快速上手和使用。 ... [详细]
  • 计算 n 叉树中各节点子树的叶节点数量分析 ... [详细]
  • BZOJ4240 Gym 102082G:贪心算法与树状数组的综合应用
    BZOJ4240 Gym 102082G 题目 "有趣的家庭菜园" 结合了贪心算法和树状数组的应用,旨在解决在有限时间和内存限制下高效处理复杂数据结构的问题。通过巧妙地运用贪心策略和树状数组,该题目能够在 10 秒的时间限制和 256MB 的内存限制内,有效处理大量输入数据,实现高性能的解决方案。提交次数为 756 次,成功解决次数为 349 次,体现了该题目的挑战性和实际应用价值。 ... [详细]
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • 本文深入探讨了 Vue.js 中异步组件的应用与优化策略。首先,文章介绍了异步组件的基本概念及其在现代前端开发中的重要性。为了确保最佳实践,建议使用 Webpack 作为模块打包工具,因为 Browserify 默认不支持异步组件的加载。接着,详细解释了异步组件的使用方法,并提供了官方文档的相关链接以供参考。此外,文章还讨论了多种优化技巧,包括代码分割、懒加载和性能调优,以提升应用的整体性能和用户体验。 ... [详细]
  • Ceph API微服务实现RBD块设备的高效创建与安全删除
    本文旨在实现Ceph块存储中RBD块设备的高效创建与安全删除功能。开发环境为CentOS 7,使用 IntelliJ IDEA 进行开发。首先介绍了 librbd 的基本概念及其在 Ceph 中的作用,随后详细描述了项目 Gradle 配置的优化过程,确保了开发环境的稳定性和兼容性。通过这一系列步骤,我们成功实现了 RBD 块设备的快速创建与安全删除,提升了系统的整体性能和可靠性。 ... [详细]
  • Python网络爬虫入门:利用urllib库进行数据抓取
    Python网络爬虫入门:利用urllib库进行数据抓取在数据科学和Web开发领域,Python凭借其简洁高效的特性成为首选语言。本文主要介绍了如何在Windows环境下使用Python的urllib库进行基本的网络数据抓取。考虑到命令行操作的不便,作者选择了Jupyter Notebook作为开发环境,不仅简化了配置过程,还提供了直观的数据处理和可视化功能。通过实例演示,读者可以轻松掌握urllib的基本用法,为深入学习网络爬虫技术打下坚实基础。 ... [详细]
  • 【前端开发】深入探讨 RequireJS 与性能优化策略
    随着前端技术的迅速发展,RequireJS虽然不再像以往那样吸引关注,但其在模块化加载方面的优势仍然值得深入探讨。本文将详细介绍RequireJS的基本概念及其作为模块加载工具的核心功能,并重点分析其性能优化策略,帮助开发者更好地理解和应用这一工具,提升前端项目的加载速度和整体性能。 ... [详细]
  • 当前,众多初创企业对全栈工程师的需求日益增长,但市场中却存在大量所谓的“伪全栈工程师”,尤其是那些仅掌握了Node.js技能的前端开发人员。本文旨在深入探讨全栈工程师在现代技术生态中的真实角色与价值,澄清对这一角色的误解,并强调真正的全栈工程师应具备全面的技术栈和综合解决问题的能力。 ... [详细]
  • 本文深入探讨了 iOS 开发中 `int`、`NSInteger`、`NSUInteger` 和 `NSNumber` 的应用与区别。首先,我们将详细介绍 `NSNumber` 类型,该类用于封装基本数据类型,如整数、浮点数等,使其能够在 Objective-C 的集合类中使用。通过分析这些类型的特性和应用场景,帮助开发者更好地理解和选择合适的数据类型,提高代码的健壮性和可维护性。苹果官方文档提供了更多详细信息,可供进一步参考。 ... [详细]
  • 如何选择并安装合适的Python环境和工具以解决常见的下载问题
    选择并安装合适的Python环境和工具对于解决常见的下载问题至关重要。用户可以直接访问Python官方网站进行下载,无需额外安装其他软件。Python作为一种跨平台的编程语言,支持多种操作系统,并具备面向对象和动态类型的特性,能够有效提升开发效率和代码可维护性。此外,推荐使用虚拟环境管理工具如venv或conda,以便更好地隔离项目依赖,确保开发环境的稳定性和安全性。 ... [详细]
  • 在处理分享功能时,以往通常会首先考虑使用第三方SDK,如友盟等。然而,通过实际项目经验发现,利用iOS原生的UIActivityViewController不仅可以实现高效、稳定的分享功能,还能更好地控制用户体验。本文将详细介绍如何利用iOS原生技术缓存HTML内容,并结合URL分享的最佳实践,帮助开发者在实际开发中提升应用性能和用户满意度。 ... [详细]
author-avatar
开卷_汤娅造_673
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有